package tests;
import firewall.*;

import static org.junit.Assert.*;

import org.junit.Test;

import firewall.Paquete;
import firewall.ReglaGeneralIp;
import firewall.ReglaGeneralPuerto;

public class TestReglaCompuesta extends TestContenedor{

	
	@Test
	public void main() {
	
	ReglaCompuesta reglaCompuesta=new ReglaCompuesta();
	
		
	ReglaGeneralIp reglaIp1=new ReglaGeneralIp();
	reglaIp1.setSosNegadora(true);
	reglaIp1.setIpOrigenPiso("190");
	reglaIp1.setIpOrigenTecho("195");
	
	ReglaGeneralIp reglaIp2=new ReglaGeneralIp();
	reglaIp2.setSosNegadora(true);
	reglaIp2.setIpDestinoPiso("250");
	reglaIp2.setIpDestinoTecho("300");
	
	
	ReglaGeneralPuerto reglaPuerto1=new ReglaGeneralPuerto();
	reglaPuerto1.setSosNegadora(true);
	reglaPuerto1.setPuertoPiso(10);
	reglaPuerto1.setPuertoTecho(20);
	
	
	ReglaGeneralPuerto reglaPuerto2=new ReglaGeneralPuerto();
	reglaPuerto2.setSosNegadora(true);
	reglaPuerto2.setPuertoPiso(30);
	reglaPuerto2.setPuertoTecho(40);
	
	reglaCompuesta.agregarRegla(reglaIp1); //Si saco las que dan True, recién ahí el test da false.
	reglaCompuesta.agregarRegla(reglaPuerto1);
	
	//reglaCompuesta.agregarRegla(reglaIp2); 
	
	Paquete paquete =new Paquete("190","192",15);
	
	
	assertTrue(reglaCompuesta.matchea(paquete));
	//assertFalse(reglaCompuesta.matchea(paquete));
	
	}
}
